<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script>
        function Person(name) {
            this.name = name;
        }
        Person.prototype.say = function() {
            console.log(111);
        };
        let xiaoming = new Person("小明");
        console.log(xiaoming.__proto__);
        console.log(Person.prototype);

        //当一个函数首字母大写的时候 一般它会被当成构造函数使用
        // 使用的时候用new 操作符调用

        function Men(name) {
            Person.call(this, name);
            //第二种是构造函数继承
        }
        Men.prototype = new Person(); //第一种继承 原型链继承

        let superman = new Men("刘举");
        superman.say();
        alert(superman.name);
        // 两种搭配就是第三种组合继承 才能实现完整的继承
    </script>
</body>

</html>